﻿#Persistent
SetTitleMatchMode, 2  ; 允许部分匹配窗口标题
SetControlDelay -1     ; 减少点击的延迟
SetWinDelay, 0         ; 设置窗口操作的延迟为0
CoordMode, Mouse, Window  ; 鼠标坐标基于窗口
CoordMode, Pixel, Screen  ; 将 ImageSearch 的坐标模式设置为屏幕基准

loopCount := 100 ; 设置循环次数

; 定义图像路径
image1 := "C:\Users\22671\OneDrive\文档\AutoHotkey\1.png"
image2 := "C:\Users\22671\OneDrive\文档\AutoHotkey\2.png"
image3 := "C:\Users\22671\OneDrive\文档\AutoHotkey\3.png"

LoopStart:  ; 定义一个标签，用于重新开始循环
Loop, %loopCount%  ; 循环指定次数
{
    ; 查找并激活游戏窗口
    IfWinExist, WAKFU
    {
        ; 第一组右键点击
        ControlClick, x890 y641, WAKFU, , Right
        Sleep, 700
        ControlClick, x887 y609, WAKFU, , Right
        Sleep, 7000  ; 等待 4 秒

        ; 第二组右键点击
        ControlClick, x1359 y853, WAKFU, , Right
        Sleep, 1000
        ControlClick, x1364 y819, WAKFU, , Right
        Sleep, 3500  ; 等待 5 秒

        ; 第三组右键点击
        ControlClick, x1505 y838, WAKFU, , Right
        Sleep, 500
        ControlClick, x1508 y802, WAKFU, , Right
        Sleep, 3000  ; 等待 3.5 秒
        ; 检查图像是否存在
        if CheckImagesNotExist()
        {
            Sleep, 3000  ; 如果图像都不存在，等待3秒
             goto LoopStart  ; 跳转到循环开头，重新开始整个循环
        }
        ; 第四组右键点击
        ControlClick, x1516 y833, WAKFU, , Right
        Sleep, 500
        ControlClick, x1517 y804, WAKFU, , Right
        Sleep, 3000  ; 等待 3.5 秒
        if CheckImagesNotExist()
        {
            Sleep, 3000  ; 如果图像都不存在，等待3秒
             goto LoopStart  ; 跳转到循环开头，重新开始整个循环
        }
        ; 第五组右键点击
        ControlClick, x1519 y928, WAKFU, , Right
        Sleep, 500
        ControlClick, x1520 y898, WAKFU, , Right
        Sleep, 3000  ; 等待 3.5 秒
        if CheckImagesNotExist()
        {
            Sleep, 3000  ; 如果图像都不存在，等待3秒
             goto LoopStart  ; 跳转到循环开头，重新开始整个循环
        }
        ; 第六组右键点击
        ControlClick, x1512 y938, WAKFU, , Right
        Sleep, 500
        ControlClick, x1511 y908, WAKFU, , Right
        Sleep, 3000  ; 等待 3.5 秒
        if CheckImagesNotExist()
        {
            Sleep, 3000  ; 如果图像都不存在，等待3秒
             goto LoopStart  ; 跳转到循环开头，重新开始整个循环
        }
        ; 第七组右键点击
        ControlClick, x1506 y1036, WAKFU, , Right
        Sleep, 500
        ControlClick, x1511 y1007, WAKFU, , Right
        Sleep, 3000  ; 等待 3.5 秒
        if CheckImagesNotExist()
        {
            Sleep, 3000  ; 如果图像都不存在，等待3秒
             goto LoopStart  ; 跳转到循环开头，重新开始整个循环
        }
        ; 第八组右键点击
        ControlClick, x1508 y1046, WAKFU, , Right
        Sleep, 500
        ControlClick, x1506 y1014, WAKFU, , Right
        Sleep, 3000  ; 等待 3.5 秒
        if CheckImagesNotExist()
        {
            Sleep, 3000  ; 如果图像都不存在，等待3秒
             goto LoopStart  ; 跳转到循环开头，重新开始整个循环
        }
        ; 第九组右键点击
        ControlClick, x1502 y1031, WAKFU, , Right
        Sleep, 500
        ControlClick, x1503 y1001, WAKFU, , Right
        Sleep, 3000  ; 等待 3.5 秒
        if CheckImagesNotExist()
        {
            Sleep, 3000  ; 如果图像都不存在，等待3秒
             goto LoopStart  ; 跳转到循环开头，重新开始整个循环
        }
        ; 第十组右键点击
        ControlClick, x1198 y982, WAKFU, , Right
        Sleep, 500
        ControlClick, x1200 y957, WAKFU, , Right
        Sleep, 3000  ; 等待 3.5 秒
        if CheckImagesNotExist()
        {
            Sleep, 3000  ; 如果图像都不存在，等待3秒
             goto LoopStart  ; 跳转到循环开头，重新开始整个循环
        }
        ; 第十一组右键点击
        ControlClick, x1520 y1037, WAKFU, , Right
        Sleep, 500
        ControlClick, x1522 y1015, WAKFU, , Right
        Sleep, 3000  ; 循环结束前等待 8.5 秒
        if CheckImagesNotExist()
        {
            Sleep, 3000  ; 如果图像都不存在，等待3秒
             goto LoopStart  ; 跳转到循环开头，重新开始整个循环
        }
        ControlClick, x1515 y1038, WAKFU, , Right
        Sleep, 500
        ControlClick, x1512 y1001, WAKFU, , Right
        Sleep, 3500  ; 循环结束前等待 8.5 秒
        if CheckImagesNotExist()
        {
            Sleep, 3000  ; 如果图像都不存在，等待3秒
             goto LoopStart  ; 跳转到循环开头，重新开始整个循环
        }
        ControlClick, x1418 y882, WAKFU, , Right
        Sleep, 500
        ControlClick, x1419 y858, WAKFU, , Right
        Sleep, 3000  ; 循环结束前等待 8.5 秒        
        if CheckImagesNotExist()
        {
            Sleep, 3000  ; 如果图像都不存在，等待3秒
             goto LoopStart  ; 跳转到循环开头，重新开始整个循环
        }
        ControlClick, x1517 y1034, WAKFU, , Right
        Sleep, 500
        ControlClick, x1516 y1010, WAKFU, , Right
        Sleep, 3000  ; 循环结束前等待 8.5 秒
        if CheckImagesNotExist()
        {
            Sleep, 3000  ; 如果图像都不存在，等待3秒
             goto LoopStart  ; 跳转到循环开头，重新开始整个循环
        }
        ControlClick, x1422 y819, WAKFU, , Right
        Sleep, 500
        ControlClick, x1419 y856, WAKFU, , Right
        Sleep, 3000  ; 循环结束前等待 8.5 秒
        if CheckImagesNotExist()
        {
            Sleep, 3000  ; 如果图像都不存在，等待3秒
             goto LoopStart  ; 跳转到循环开头，重新开始整个循环
        }
        ControlClick, x1205 y987, WAKFU, , Right
        Sleep, 500
        ControlClick, x1204 y959, WAKFU, , Right
        Sleep, 3000  ; 循环结束前等待 8.5 秒
        if CheckImagesNotExist()
        {
            Sleep, 3000  ; 如果图像都不存在，等待3秒
             goto LoopStart  ; 跳转到循环开头，重新开始整个循环
        }
        ControlClick, x1413 y980, WAKFU, , Right
        Sleep, 500
        ControlClick, x1411 y946, WAKFU, , Right
        Sleep, 3000  ; 循环结束前等待 8.5 秒      
        if CheckImagesNotExist()
        {
            Sleep, 3000  ; 如果图像都不存在，等待3秒
             goto LoopStart  ; 跳转到循环开头，重新开始整个循环
        }
        ControlClick, x1410 y887, WAKFU, , Right
        Sleep, 500
        ControlClick, x1412 y858, WAKFU, , Right
        Sleep, 3000  ; 循环结束前等待 8.5 秒
        if CheckImagesNotExist()
        {
            Sleep, 3000  ; 如果图像都不存在，等待3秒
             goto LoopStart  ; 跳转到循环开头，重新开始整个循环
        }
        ControlClick, x1202 y981, WAKFU, , Right
        Sleep, 500
        ControlClick, x1204 y947, WAKFU, , Right
        Sleep, 3000  ; 循环结束前等待 8.5 秒
    }


    else
    {
        MsgBox, WAKFU 窗口未找到！
        ExitApp  ; 如果找不到窗口则退出脚本
    }
}
; 检查三个图像是否都不存在的函数
CheckImagesNotExist()
{
    global image1, image2, image3

    ; 在屏幕的 400x400 区域搜索图像
    ImageSearch, _, _, 0, 0, 400, 400, %image1%
    if (ErrorLevel = 0)
        return false  ; 图像1存在

    ImageSearch, _, _, 0, 0, 400, 400, %image2%
    if (ErrorLevel = 0)
        return false  ; 图像2存在

    ImageSearch, _, _, 0, 0, 400, 400, %image3%
    if (ErrorLevel = 0)
        return false  ; 图像3存在

    return true  ; 所有图像都不存在
}